adTempus API
Client API / Client API Introduction
In This Topic
    Client API Introduction
    In This Topic

    The adTempus client API provides complete client-level access to adTempus. This is the same API used by the adTempus Console and other client tools provided by Arcana Development. Using this API you can perform any function that is available through the Console, and more.

    Upgrading

    If you are already using the API with an older version of adTempus, review the Changes topic for important information. You will need to make changes to your code.

    Quick Start

    See the Examples section for sample code illustrating basic API tasks.  

    Architecture

    The client API exposes data object classes that encapsulate all of the components of adTempus (Jobs, Tasks, Triggers, etc.). Client applications work with the properties and methods of these classes. Internally, the client API library manages communication with the adTempus server using Windows Communication Foundation (WCF).

    The client API is implemented in fully-managed .NET code with no external dependencies. Client applications can connect to adTempus servers running locally or on remote computers.

    Basic Concepts

    Client Sessions

    All API activity takes place in the context of a client session, which is represented by a Scheduler object. Your client application must call one of the static (Shared) Scheduler.Connect methods to establish a session. 

    Each session (Scheduler object) represents a connection to a single adTempus server, using the identity of an adTempus user. All API activity (including the ability to connect to the server in the first place) is governed by the adTempus security framework.

    A single client application may have as many connections as it requires. For example, the adTempus Console allows you to connect to many servers at once; each server is a separate session.

    Data Contexts

    Within a Scheduler session, the DataContext provides object caching, uniquing, and isolation from other DataContexts. Each data object belongs to a single DataContext, and cannot be used in other DataContexts.

    Data Objects

    Most of the API components are data objects, which represent data stored in the adTempus database. Many of these classes (and their properties) correspond closely to the dialog boxes in input controls in the adTempus Console.

    Data objects derive from the ADTObject class, which provides some common properties and methods. Each object is uniquely identified by its OID (object identifier), which encapsulates class and object identity information.

    Data objects cannot be directly created by your code. To create a new data object you must use the DataContext.CreateObject method, which ensures that you have the appropriate permission to create the object, and also initializes the object with the proper client context.

    Independent objects are the top-level objects in adTempus (such as Jobs, Job Groups, Job Queues) that do not have an "owner." These objects derive from ADTIndependentObject and expose methods and properties for saving, deleting, and securing objects.

    Dependent objects are objects such as Job Steps, Triggers, Conditions, etc., that always belong to an independent object. These objects cannot be independently saved, deleted, or secured.

    Error Handling

    Be sure to include appropriate exception handling logic when working with the API. Almost any method or property has the potential to fail and throw an exception in the connection to the adTempus server is broken (this will generally result in a ConnectionClosedException).

    See Also